home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / SocketServices.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  20.5 KB  |  689 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        SocketServices.p
  3.  
  4.      Contains:    This file contains constants and data structures that
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc. All rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT SocketServices;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __SOCKETSERVICES__}
  28. {$SETC __SOCKETSERVICES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC SocketServicesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MIXEDMODE__}
  38. {$I MixedMode.p}
  39. {$ENDC}
  40.  
  41.  
  42. {$PUSH}
  43. {$ALIGN MAC68K}
  44. {$LibExport+}
  45.  
  46. {
  47.   ///////////////////////////////////////////////////////////////////////////////////////
  48.       TypeDefs for the Socket Services function codes
  49. }
  50.  
  51.  
  52. TYPE
  53.     SS_BYTE                                = Byte;
  54.     SS_FLAGS8                            = Byte;
  55.     SS_IRQ                                = Byte;
  56.     SS_PWRLEVEL                            = Byte;
  57.     SS_ADAPTER                            = UInt16;
  58.     SS_BCD                                = UInt16;
  59.     SS_COUNT                            = UInt16;
  60.     SS_EDC                                = UInt16;
  61.     SS_FLAGS16                            = UInt16;
  62.     SS_PAGE                                = UInt16;
  63.     SS_PWRINDEX                            = UInt16;
  64.     SS_SIGNATURE                        = UInt16;
  65.     SS_SKTBITS                            = UInt16;
  66.     SS_SOCKET                            = UInt16;
  67.     SS_SPEED                            = UInt16;
  68.     SS_WINDOW                            = UInt16;
  69.     SS_WORD                                = UInt16;
  70.     SS_BASE                                = UInt32;
  71.     SS_FLAGS32                            = UInt32;
  72.     SS_OFFSET                            = UInt32;
  73.     SS_SIZE                                = UInt32;
  74.     SS_PTR                                = Ptr;
  75.     SS_RETCODE                            = OSErr;
  76.     SS_SCHARTBLPtr = ^SS_SCHARTBL;
  77.     SS_SCHARTBL = RECORD
  78.         sktCaps:                UInt16;                                    {     SS_FLAGS16 }
  79.         activeHigh:                UInt32;                                    {     SS_FLAGS32 }
  80.         activeLow:                UInt32;                                    {     SS_FLAGS32 }
  81.     END;
  82.  
  83.     SS_SISTRUCTPtr = ^SS_SISTRUCT;
  84.     SS_SISTRUCT = RECORD
  85.         bufferLength:            UInt16;                                    {     SS_WORD }
  86.         dataLength:                UInt16;                                    {     SS_WORD }
  87.         charTable:                SS_SCHARTBL;                            {     SS_FLAGS16 }
  88.     END;
  89.  
  90.  
  91. CONST
  92.     STR_SIZE                    = 24;
  93.  
  94. {  minimum string length }
  95.  
  96. TYPE
  97.     SS_VISTRUCTPtr = ^SS_VISTRUCT;
  98.     SS_VISTRUCT = RECORD
  99.         bufferLength:            UInt16;                                    {     SS_WORD }
  100.         dataLength:                UInt16;                                    {     SS_WORD }
  101.         szImplementor:            SInt8;                                    {     SS_WORD }
  102.         padding:                SInt8;                                    {      }
  103.     END;
  104.  
  105.     SS_ACHARTBLPtr = ^SS_ACHARTBL;
  106.     SS_ACHARTBL = RECORD
  107.         adpCaps:                UInt16;                                    {     SS_FLAGS16 }
  108.         activeHigh:                UInt32;                                    {     SS_FLAGS32 }
  109.         activeLow:                UInt32;                                    {     SS_FLAGS32 }
  110.     END;
  111.  
  112.     SS_PWRENTRYPtr = ^SS_PWRENTRY;
  113.     SS_PWRENTRY = RECORD
  114.         powerLevel:                SInt8;                                    {     SS_PWRLEVEL }
  115.         validSignals:            SInt8;                                    {     SS_FLAGS8 }
  116.     END;
  117.  
  118.     SS_AISTRUCTPtr = ^SS_AISTRUCT;
  119.     SS_AISTRUCT = RECORD
  120.         bufferLength:            UInt16;                                    {     SS_WORD }
  121.         dataLength:                UInt16;                                    {     SS_WORD }
  122.         charTable:                SS_ACHARTBL;
  123.         numPwrEntries:            UInt16;                                    {     SS_WORD }
  124.         pwrEntryPtr:            SS_PWRENTRYPtr;
  125.     END;
  126.  
  127.     SS_MEMWINTBLPtr = ^SS_MEMWINTBL;
  128.     SS_MEMWINTBL = RECORD
  129.         memWndCaps:                UInt16;                                    {     SS_FLAGS16 }
  130.         firstByte:                UInt32;                                    {     SS_BASE }
  131.         lastByte:                UInt32;                                    {     SS_BASE }
  132.         minSize:                UInt32;                                    {     SS_SIZE }
  133.         maxSize:                UInt32;                                    {     SS_SIZE }
  134.         reqGran:                UInt32;                                    {     SS_SIZE }
  135.         reqBase:                UInt32;                                    {     SS_SIZE }
  136.         reqOffset:                UInt32;                                    {     SS_SIZE }
  137.         slowest:                UInt16;                                    {     SS_SPEED }
  138.         fastest:                UInt16;                                    {     SS_SPEED }
  139.     END;
  140.  
  141.     SS_IOWINTBLPtr = ^SS_IOWINTBL;
  142.     SS_IOWINTBL = RECORD
  143.         ioWndCaps:                UInt16;                                    {     SS_FLAGS16 }
  144.         firstByte:                UInt32;                                    {     SS_BASE }
  145.         lastByte:                UInt32;                                    {     SS_BASE }
  146.         minSize:                UInt32;                                    {     SS_SIZE }
  147.         maxSize:                UInt32;                                    {     SS_SIZE }
  148.         reqGran:                UInt32;                                    {     SS_SIZE }
  149.         addrLines:                UInt16;                                    {     SS_COUNT }
  150.         eisaSlot:                SInt8;                                    {     SS_FLAGS8 }
  151.         padding:                SInt8;                                    {      }
  152.     END;
  153.  
  154.     SS_WISTRUCTPtr = ^SS_WISTRUCT;
  155.     SS_WISTRUCT = RECORD
  156.         bufferLength:            UInt16;                                    {     SS_WORD }
  157.         dataLength:                UInt16;                                    {     SS_WORD }
  158.         numTblEntries:            UInt16;                                    {     SS_WORD }
  159.         memWinTbl:                SS_MEMWINTBL;
  160.         ioWinTbl:                SS_IOWINTBL;
  161.     END;
  162.  
  163.  
  164. {————————————————————————————————————————————————————————————————————————
  165.     function selectors passed to Socket Service entry point
  166. ————————————————————————————————————————————————————————————————————————}
  167.  
  168. CONST
  169.     fnSSGetAdapterCount            = $80;
  170.     fnSSUnsupported81            = $81;
  171.     fnSSUnsupported82            = $82;
  172.     fnSSGetSSInfo                = $83;
  173.     fnSSInquireAdapter            = $84;
  174.     fnSSGetAdapter                = $85;
  175.     fnSSSetAdapter                = $86;
  176.     fnSSInquireWindow            = $87;
  177.     fnSSGetWindow                = $88;
  178.     fnSSSetWindow                = $89;
  179.     fnSSGetPage                    = $8A;
  180.     fnSSSetPage                    = $8B;
  181.     fnSSInquireSocket            = $8C;
  182.     fnSSGetSocket                = $8D;
  183.     fnSSSetSocket                = $8E;
  184.     fnSSGetStatus                = $8F;
  185.     fnSSResetSocket                = $90;
  186.     fnSSUnsupported91            = $91;
  187.     fnSSUnsupported92            = $92;
  188.     fnSSUnsupported93            = $93;
  189.     fnSSUnsupported94            = $94;
  190.     fnSSInquireEDC                = $95;
  191.     fnSSGetEDC                    = $96;
  192.     fnSSSetEDC                    = $97;
  193.     fnSSStartEDC                = $98;
  194.     fnSSPauseEDC                = $99;
  195.     fnSSResumeEDC                = $9A;
  196.     fnSSStopEDC                    = $9B;
  197.     fnSSReadEDC                    = $9C;
  198.     fnSSGetVendorInfo            = $9D;
  199.     fnSSAcknowledgeInterrupt    = $9E;
  200.     fnSSGetSetPriorHandler        = $9F;
  201.     fnSSGetSetSSAddr            = $A0;
  202.     fnSSGetAccessOffsets        = $A1;
  203.     fnSSUnsupportedA2            = $A2;
  204.     fnSSUnsupportedA3            = $A3;
  205.     fnSSUnsupportedA4            = $A4;
  206.     fnSSUnsupportedA5            = $A5;
  207.     fnSSUnsupportedA6            = $A6;
  208.     fnSSUnsupportedA7            = $A7;
  209.     fnSSUnsupportedA8            = $A8;
  210.     fnSSUnsupportedA9            = $A9;
  211.     fnSSUnsupportedAA            = $AA;
  212.     fnSSUnsupportedAB            = $AB;
  213.     fnSSUnsupportedAC            = $AC;
  214.     fnSSUnsupportedAD            = $AD;
  215.     fnSSVendorSpecific            = $AE;
  216.  
  217. {     SSVendorSpecificPB.function values }
  218.  
  219.     fnVSReserved                = $00;
  220.     fnVSGetSocketLocationIcon    = $01;
  221.     fnVSGetSocketLocationText    = $02;
  222.     fnVSDoSocketLocalization    = $03;
  223.     fnVSAppleSocketCapabilities    = $04;
  224.     fnVSSleepWakeNotification    = $05;
  225.  
  226.  
  227. {————————————————————————————————————————————————————————————————————————
  228.     defines for the Socket Services function codes
  229. ————————————————————————————————————————————————————————————————————————}
  230.     AC_IND                        = 1;                            {  adapter characteristics }
  231.     AC_PWR                        = 2;
  232.     AC_DBW                        = 4;
  233.  
  234.     AS_POWERDOWN                = 1;
  235.     AS_MAINTAIN                    = 2;
  236.  
  237.     EC_UNI                        = 1;
  238.     EC_BI                        = 2;
  239.     EC_REGISTER                    = 4;
  240.     EC_MEMORY                    = 8;
  241.     EC_PAUSABLE                    = 16;
  242.     EC_WRITE                    = 16;
  243.  
  244.     ET_CHECK8                    = 1;
  245.     ET_SDLC16                    = 2;
  246.  
  247.     IF_MEMORY                    = 1;
  248.     IF_IO                        = 2;
  249.  
  250.     IRQ_HIGH                    = 64;
  251.     IRQ_ENABLE                    = 128;
  252.  
  253.     IRQ_MEMORY                    = 4;
  254.     IRQ_IO                        = 4;
  255.  
  256.     PS_ATTRIBUTE                = $01;
  257.     PS_ENABLED                    = $02;
  258.     PS_WP                        = $04;
  259.  
  260.     PWR_VCC                        = 128;                            {  Power pins in PwrEntry elements }
  261.     PWR_VPP1                    = 64;
  262.     PWR_VPP2                    = 32;
  263.  
  264.     SBM_WP                        = 1;
  265.     SBM_LOCKED                    = 2;
  266.     SBM_EJECT                    = 4;
  267.     SBM_INSERT                    = 8;
  268.     SBM_BVD1                    = 16;
  269.     SBM_BVD2                    = 32;
  270.     SBM_RDYBSY                    = 64;
  271.     SBM_CD                        = 128;
  272.  
  273.     SBM_LOCK                    = 16;
  274.     SBM_BATT                    = 32;
  275.     SBM_BUSY                    = 64;
  276.     SBM_XIP                        = 128;
  277.  
  278. { Vendor Specific Apple Socket Capabilities }
  279.     SBM_SLEEP_PWR                = 1;
  280.  
  281.     WC_COMMON                    = 1;
  282.     WC_IO                        = 2;
  283.     WC_ATTRIBUTE                = 4;
  284.     WC_TYPE_MASK                = 7;
  285.     WC_WAIT                        = 128;
  286.  
  287.     WC_BASE                        = 1;
  288.     WC_SIZE                        = 2;
  289.     WC_WENABLE                    = 4;
  290.     WC_8BIT                        = 8;
  291.     WC_16BIT                    = 16;
  292.     WC_BALIGN                    = 32;
  293.     WC_POW2                        = 64;
  294.     WC_CALIGN                    = 128;
  295.     WC_PAVAIL                    = 256;
  296.     WC_PSHARED                    = 512;
  297.     WC_PENABLE                    = 1024;
  298.     WC_WP                        = 2048;
  299.  
  300.     WC_INPACK                    = 128;
  301.     WC_EISA                        = 256;
  302.     WC_CENABLE                    = 512;
  303.  
  304.     WS_IO                        = 1;
  305.     WS_ENABLED                    = 2;
  306.     WS_16BIT                    = 4;
  307.  
  308.     WS_PAGED                    = 8;
  309.     WS_EISA                        = 16;
  310.     WS_CENABLE                    = 32;
  311.     WS_SWAP_LITTLE_TO_BIG_ENDIAN = 64;
  312.  
  313.     SS_SIG_VALUE                = $5353;                        {  'SS' }
  314.  
  315.     SS_CMPL_1_00                = $0100;                        {  compliant with rev 1.0 of SS standard }
  316.     SS_CMPL_1_01                = $0101;                        {  compliant with rev 1.01 of SS standard }
  317.     SS_CMPL_2_00                = $0200;                        {  compliant with rev 2.0 of SS standard }
  318.     SS_CMPL_2_10                = $0210;                        {  compliant with rev 2.1 of SS standard }
  319.  
  320. {————————————————————————————————————————————————————————————————————————
  321.     Universal ProcPtr for Socket Service entry point
  322. ————————————————————————————————————————————————————————————————————————}
  323.  
  324. TYPE
  325. {$IFC TYPED_FUNCTION_POINTERS}
  326.     PCCardSSEntryProcPtr = FUNCTION(fnCode: UInt16; callPB: Ptr; dataPtr: Ptr): INTEGER;
  327. {$ELSEC}
  328.     PCCardSSEntryProcPtr = ProcPtr;
  329. {$ENDC}
  330.  
  331.     PCCardSSEntryUPP = UniversalProcPtr;
  332.  
  333. CONST
  334.     uppPCCardSSEntryProcInfo = $00000FA0;
  335.  
  336. FUNCTION NewPCCardSSEntryProc(userRoutine: PCCardSSEntryProcPtr): PCCardSSEntryUPP;
  337.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  338.     INLINE $2E9F;
  339.     {$ENDC}
  340.  
  341. FUNCTION CallPCCardSSEntryProc(fnCode: UInt16; callPB: Ptr; dataPtr: Ptr; userRoutine: PCCardSSEntryUPP): INTEGER;
  342.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  343.     INLINE $205F, $4E90;
  344.     {$ENDC}
  345. {————————————————————————————————————————————————————————————————————————
  346.     Card Services calls used by a Socket Service
  347. ————————————————————————————————————————————————————————————————————————}
  348.  
  349. TYPE
  350.     CSEventEntryPBPtr = ^CSEventEntryPB;
  351.     CSEventEntryPB = RECORD
  352.         ssHandlerID:            UInt32;
  353.         adapter:                UInt16;
  354.         socket:                    UInt16;
  355.         message:                UInt16;
  356.         intrpBits:                SInt8;
  357.         padding:                SInt8;
  358.     END;
  359.  
  360. {$IFC TYPED_FUNCTION_POINTERS}
  361.     PCCardCSEntryProcPtr = PROCEDURE(VAR pb: CSEventEntryPB);
  362. {$ELSEC}
  363.     PCCardCSEntryProcPtr = ProcPtr;
  364. {$ENDC}
  365.  
  366.     PCCardCSEntryUPP = UniversalProcPtr;
  367.  
  368. CONST
  369.     uppPCCardCSEntryProcInfo = $000000C0;
  370.  
  371. FUNCTION NewPCCardCSEntryProc(userRoutine: PCCardCSEntryProcPtr): PCCardCSEntryUPP;
  372.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  373.     INLINE $2E9F;
  374.     {$ENDC}
  375.  
  376. PROCEDURE CallPCCardCSEntryProc(VAR pb: CSEventEntryPB; userRoutine: PCCardCSEntryUPP);
  377.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  378.     INLINE $205F, $4E90;
  379.     {$ENDC}
  380. { ------------        AddSocketServices        ------------                             }
  381.  
  382.  
  383. TYPE
  384.     AddSocketServicesPBPtr = ^AddSocketServicesPB;
  385.     AddSocketServicesPB = RECORD
  386.         ssEntry:                PCCardSSEntryUPP;                        {  -> given to CS for its use }
  387.         csEntry:                PCCardCSEntryUPP;                        {  <- taken from CS so we know where to enter }
  388.         dataPtr:                UInt32;
  389.         attributes:                UInt32;
  390.         numAdapters:            UInt16;
  391.         numSockets:                UInt16;
  392.     END;
  393.  
  394. { ------------         ReplaceSocketServices    ------------                             }
  395.  
  396.     ReplaceSocketServicesPBPtr = ^ReplaceSocketServicesPB;
  397.     ReplaceSocketServicesPB = RECORD
  398.         ssEntry:                PCCardSSEntryUPP;
  399.         oldSSEntry:                PCCardSSEntryUPP;
  400.         dataPtr:                UInt32;
  401.         socket:                    UInt16;
  402.         numSockets:                UInt16;
  403.         attributes:                UInt16;
  404.     END;
  405.  
  406. FUNCTION CSAddSocketServices(VAR pb: AddSocketServicesPB): OSErr;
  407.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  408.     INLINE $7050, $AAF0;
  409.     {$ENDC}
  410. FUNCTION CSReplaceSocketServices(VAR pb: ReplaceSocketServicesPB): OSErr;
  411.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  412.     INLINE $7051, $AAF0;
  413.     {$ENDC}
  414.  
  415.  
  416. {————————————————————————————————————————————————————————————————————————
  417.     parameter blocks for each Socket Service function
  418. ————————————————————————————————————————————————————————————————————————}
  419.  
  420. TYPE
  421.     SSAcknowledgeInterruptPBPtr = ^SSAcknowledgeInterruptPB;
  422.     SSAcknowledgeInterruptPB = RECORD
  423.         adapter:                UInt16;                                    {     SS_ADAPTER }
  424.         sockets:                UInt16;                                    {     SS_SKTBITS }
  425.     END;
  426.  
  427.     SSGetAccessOffsetsPBPtr = ^SSGetAccessOffsetsPB;
  428.     SSGetAccessOffsetsPB = RECORD
  429.         adapter:                UInt16;                                    {     SS_ADAPTER }
  430.         mode:                    SInt8;                                    {     SS_BYTE }
  431.         reserved:                SInt8;                                    {     padding }
  432.         count:                    UInt16;                                    {     SS_COUNT }
  433.         buffer:                    Ptr;                                    {     SS_PTR }
  434.         numAvail:                UInt16;                                    {     SS_COUNT }
  435.     END;
  436.  
  437.     SSGetAdapterCountPBPtr = ^SSGetAdapterCountPB;
  438.     SSGetAdapterCountPB = RECORD
  439.         totalAdapters:            UInt16;                                    {     SS_COUNT }
  440.         sig:                    UInt16;                                    {     SS_SIGNATURE }
  441.     END;
  442.  
  443.     SSGetSetAdapterPBPtr = ^SSGetSetAdapterPB;
  444.     SSGetSetAdapterPB = RECORD
  445.         adapter:                UInt16;                                    {     SS_ADAPTER }
  446.         state:                    SInt8;                                    {     SS_FLAGS8 }
  447.         irqStatus:                SInt8;                                    {     SS_IRQ }
  448.     END;
  449.  
  450.     SSGetSetEDCPBPtr = ^SSGetSetEDCPB;
  451.     SSGetSetEDCPB = RECORD
  452.         adapter:                UInt16;                                    {     SS_ADAPTER }
  453.         edc:                    UInt16;                                    {     SS_EDC }
  454.         socket:                    UInt16;                                    {     SS_SOCKET }
  455.         state:                    SInt8;                                    {     SS_FLAGS8 }
  456.         edcType:                SInt8;                                    {     SS_FLAGS8 }
  457.     END;
  458.  
  459.     SSGetSetPagePBPtr = ^SSGetSetPagePB;
  460.     SSGetSetPagePB = RECORD
  461.         adapter:                UInt16;                                    {     SS_ADAPTER }
  462.         window:                    UInt16;                                    {     SS_WINDOW }
  463.         page:                    UInt16;                                    {     SS_PAGE }
  464.         state:                    SInt8;                                    {     SS_FLAGS8 }
  465.         reserved:                SInt8;                                    {     padding }
  466.         offset:                    UInt32;                                    {     SS_OFFSET }
  467.     END;
  468.  
  469.     SSGetSetPriorHandlerPBPtr = ^SSGetSetPriorHandlerPB;
  470.     SSGetSetPriorHandlerPB = RECORD
  471.         adapter:                UInt16;                                    {     SS_ADAPTER }
  472.         mode:                    SInt8;                                    {     SS_FLAGS8 }
  473.         reserved:                SInt8;                                    {     padding }
  474.         handler:                Ptr;                                    {     SS_PTR }
  475.     END;
  476.  
  477.     SSGetSetSocketPBPtr = ^SSGetSetSocketPB;
  478.     SSGetSetSocketPB = RECORD
  479.         adapter:                UInt16;                                    {     SS_ADAPTER }
  480.         socket:                    UInt16;                                    {     SS_SOCKET }
  481.         vccIndex:                UInt16;                                    {     SS_PWRINDEX }
  482.         vpp1Index:                UInt16;                                    {     SS_PWRINDEX }
  483.         vpp2Index:                UInt16;                                    {     SS_PWRINDEX }
  484.         scIntMask:                SInt8;                                    {     SS_FLAGS8 }
  485.         state:                    SInt8;                                    {     SS_FLAGS8 }
  486.         ctlInd:                    SInt8;                                    {     SS_FLAGS8 }
  487.         ireqRouting:            SInt8;                                    {     SS_IRQ }
  488.         ifType:                    SInt8;                                    {     SS_FLAGS8 }
  489.         padding:                SInt8;                                    {      }
  490.     END;
  491.  
  492.     SSGetSetSSAddrPBPtr = ^SSGetSetSSAddrPB;
  493.     SSGetSetSSAddrPB = RECORD
  494.         adapter:                UInt16;                                    {     SS_ADAPTER }
  495.         mode:                    SInt8;                                    {     SS_BYTE }
  496.         subfunc:                SInt8;                                    {     SS_BYTE }
  497.         numAddData:                UInt16;                                    {     SS_COUNT }
  498.         buffer:                    Ptr;                                    {     SS_PTR }
  499.     END;
  500.  
  501.     SSGetSetWindowPBPtr = ^SSGetSetWindowPB;
  502.     SSGetSetWindowPB = RECORD
  503.         adapter:                UInt16;                                    {     SS_ADAPTER }
  504.         window:                    UInt16;                                    {     SS_WINDOW }
  505.         socket:                    UInt16;                                    {     SS_SOCKET }
  506.         size:                    UInt32;                                    {     SS_SIZE }
  507.         state:                    SInt8;                                    {     SS_FLAGS8 }
  508.         reserved:                SInt8;                                    {     padding }
  509.         speed:                    UInt16;                                    {     SS_SPEED }
  510.         base:                    UInt32;                                    {     SS_BASE }
  511.     END;
  512.  
  513.     SSGetSSInfoPBPtr = ^SSGetSSInfoPB;
  514.     SSGetSSInfoPB = RECORD
  515.         adapter:                UInt16;                                    {     SS_ADAPTER }
  516.         compliance:                UInt16;                                    {     SS_BCD }
  517.         numAdapters:            UInt16;                                    {     SS_COUNT }
  518.         firstAdapter:            UInt16;                                    {     SS_ADAPTER }
  519.     END;
  520.  
  521.     SSGetStatusPBPtr = ^SSGetStatusPB;
  522.     SSGetStatusPB = RECORD
  523.         adapter:                UInt16;                                    {     SS_ADAPTER }
  524.         socket:                    UInt16;                                    {     SS_SOCKET }
  525.         cardState:                SInt8;                                    {     SS_FLAGS8 }
  526.         socketState:            SInt8;                                    {     SS_FLAGS8 }
  527.         ctlInd:                    SInt8;                                    {     SS_FLAGS8 }
  528.         ireqRouting:            SInt8;                                    {     SS_IRQ }
  529.         ifType:                    SInt8;                                    {     SS_FLAGS8 }
  530.         padding:                SInt8;                                    {      }
  531.     END;
  532.  
  533.     SSGetVendorInfoPBPtr = ^SSGetVendorInfoPB;
  534.     SSGetVendorInfoPB = RECORD
  535.         adapter:                UInt16;                                    {     SS_ADAPTER }
  536.         vendorInfoType:            SInt8;                                    {     SS_BYTE }
  537.         reserved:                SInt8;                                    {     padding }
  538.         buffer:                    Ptr;                                    {     SS_PTR }
  539.         release:                UInt16;                                    {     SS_BCD }
  540.     END;
  541.  
  542.     SSInquireAdapterPBPtr = ^SSInquireAdapterPB;
  543.     SSInquireAdapterPB = RECORD
  544.         adapter:                UInt16;                                    {     SS_ADAPTER }
  545.         buffer:                    Ptr;                                    {     SS_PTR }
  546.         numSockets:                UInt16;                                    {     SS_COUNT }
  547.         numWindows:                UInt16;                                    {     SS_COUNT }
  548.         numEDCs:                UInt16;                                    {     SS_COUNT }
  549.     END;
  550.  
  551.     SSInquireEDCPBPtr = ^SSInquireEDCPB;
  552.     SSInquireEDCPB = RECORD
  553.         adapter:                UInt16;                                    {     SS_ADAPTER }
  554.         edc:                    UInt16;                                    {     SS_EDC }
  555.         sockets:                UInt16;                                    {     SS_SKTBITS }
  556.         caps:                    SInt8;                                    {     SS_FLAGS8 }
  557.         types:                    SInt8;                                    {     SS_FLAGS8 }
  558.     END;
  559.  
  560.     SSInquireSocketPBPtr = ^SSInquireSocketPB;
  561.     SSInquireSocketPB = RECORD
  562.         adapter:                UInt16;                                    {     SS_ADAPTER }
  563.         socket:                    UInt16;                                    {     SS_SOCKET }
  564.         buffer:                    Ptr;                                    {     SS_PTR }
  565.         scIntCaps:                SInt8;                                    {     SS_FLAGS8 }
  566.         scRptCaps:                SInt8;                                    {     SS_FLAGS8 }
  567.         ctlIndCaps:                SInt8;                                    {     SS_FLAGS8 }
  568.         padding:                SInt8;                                    {      }
  569.     END;
  570.  
  571.     SSInquireWindowPBPtr = ^SSInquireWindowPB;
  572.     SSInquireWindowPB = RECORD
  573.         adapter:                UInt16;                                    {     SS_ADAPTER }
  574.         window:                    UInt16;                                    {     SS_WINDOW }
  575.         buffer:                    Ptr;                                    {     SS_PTR }
  576.         wndCaps:                SInt8;                                    {     SS_FLAGS8 }
  577.         reserved:                SInt8;                                    {     padding }
  578.         sockets:                UInt16;                                    {     SS_SKTBITS }
  579.     END;
  580.  
  581.     SSPauseEDCPBPtr = ^SSPauseEDCPB;
  582.     SSPauseEDCPB = RECORD
  583.         adapter:                UInt16;                                    {     SS_ADAPTER }
  584.         edc:                    UInt16;                                    {     SS_EDC }
  585.     END;
  586.  
  587.     SSReadEDCPBPtr = ^SSReadEDCPB;
  588.     SSReadEDCPB = RECORD
  589.         adapter:                UInt16;                                    {     SS_ADAPTER }
  590.         edc:                    UInt16;                                    {     SS_EDC }
  591.         value:                    UInt16;                                    {     SS_WORD }
  592.     END;
  593.  
  594.     SSResetSocketPBPtr = ^SSResetSocketPB;
  595.     SSResetSocketPB = RECORD
  596.         adapter:                UInt16;                                    {     SS_ADAPTER }
  597.         socket:                    UInt16;                                    {     SS_SOCKET }
  598.     END;
  599.  
  600.     SSResumeEDCPBPtr = ^SSResumeEDCPB;
  601.     SSResumeEDCPB = RECORD
  602.         adapter:                UInt16;                                    {     SS_ADAPTER }
  603.         edc:                    UInt16;                                    {     SS_EDC }
  604.     END;
  605.  
  606.     SSStartEDCPBPtr = ^SSStartEDCPB;
  607.     SSStartEDCPB = RECORD
  608.         adapter:                UInt16;                                    {     SS_ADAPTER }
  609.         edc:                    UInt16;                                    {     SS_EDC }
  610.     END;
  611.  
  612.     SSStopEDCPBPtr = ^SSStopEDCPB;
  613.     SSStopEDCPB = RECORD
  614.         adapter:                UInt16;                                    {     SS_ADAPTER }
  615.         edc:                    UInt16;                                    {     SS_EDC }
  616.     END;
  617.  
  618.     SSVendorSpecificPBPtr = ^SSVendorSpecificPB;
  619.     SSVendorSpecificPB = RECORD
  620.         vsFunction:                UInt16;                                    {     SS_WORD }
  621.         adapter:                UInt16;                                    {     SS_ADAPTER }
  622.         socket:                    UInt16;                                    {     SS_SOCKET }
  623.         bufferSize:                UInt16;                                    {     SS_WORD }
  624.         buffer:                    Ptr;                                    {     SS_PTR }
  625.         attributes:                UInt32;                                    {     SS_LONG }
  626.     END;
  627.  
  628. {    ‘attributes’ constants }
  629.  
  630. CONST
  631.     kSSGoingToSleep                = $00000001;
  632.     kSSWakingFromSleep            = $00000002;
  633.  
  634. {————————————————————————————————————————————————————————————————————————
  635.     Non-specific Socket Services Functions
  636. ————————————————————————————————————————————————————————————————————————}
  637. FUNCTION SSGetAdapterCount(VAR pb: SSGetAdapterCountPB; dataPtr: Ptr): SS_RETCODE;
  638. {————————————————————————————————————————————————————————————————————————
  639.     Adapter Functions
  640. ————————————————————————————————————————————————————————————————————————}
  641. FUNCTION SSAcknowledgeInterrupt(VAR pb: SSAcknowledgeInterruptPB; dataPtr: Ptr): SS_RETCODE;
  642. FUNCTION SSGetSetPriorHandler(VAR pb: SSGetSetPriorHandlerPB; dataPtr: Ptr): SS_RETCODE;
  643. FUNCTION SSGetSetSSAddr(VAR pb: SSGetSetSSAddrPB; dataPtr: Ptr): SS_RETCODE;
  644. FUNCTION SSGetAccessOffsets(VAR pb: SSGetAccessOffsetsPB; dataPtr: Ptr): SS_RETCODE;
  645. FUNCTION SSGetAdapter(VAR pb: SSGetSetAdapterPB; dataPtr: Ptr): SS_RETCODE;
  646. FUNCTION SSGetSSInfo(VAR pb: SSGetSSInfoPB; dataPtr: Ptr): SS_RETCODE;
  647. FUNCTION SSGetVendorInfo(VAR pb: SSGetVendorInfoPB; dataPtr: Ptr): SS_RETCODE;
  648. FUNCTION SSInquireAdapter(VAR pb: SSInquireAdapterPB; dataPtr: Ptr): SS_RETCODE;
  649. FUNCTION SSSetAdapter(VAR pb: SSGetSetAdapterPB; dataPtr: Ptr): SS_RETCODE;
  650. FUNCTION SSVendorSpecific(VAR pb: SSVendorSpecificPB; dataPtr: Ptr): SS_RETCODE;
  651. {————————————————————————————————————————————————————————————————————————
  652.     Socket Functions
  653. ————————————————————————————————————————————————————————————————————————}
  654. FUNCTION SSGetSocket(VAR pb: SSGetSetSocketPB; dataPtr: Ptr): SS_RETCODE;
  655. FUNCTION SSGetStatus(VAR pb: SSGetStatusPB; dataPtr: Ptr): SS_RETCODE;
  656. FUNCTION SSInquireSocket(VAR pb: SSInquireSocketPB; dataPtr: Ptr): SS_RETCODE;
  657. FUNCTION SSResetSocket(VAR pb: SSResetSocketPB; dataPtr: Ptr): SS_RETCODE;
  658. FUNCTION SSSetSocket(VAR pb: SSGetSetSocketPB; dataPtr: Ptr): SS_RETCODE;
  659. {————————————————————————————————————————————————————————————————————————
  660.     Window Functions
  661. ————————————————————————————————————————————————————————————————————————}
  662. FUNCTION SSGetPage(VAR pb: SSGetSetPagePB; dataPtr: Ptr): SS_RETCODE;
  663. FUNCTION SSGetWindow(VAR pb: SSGetSetWindowPB; dataPtr: Ptr): SS_RETCODE;
  664. FUNCTION SSInquireWindow(VAR pb: SSInquireWindowPB; dataPtr: Ptr): SS_RETCODE;
  665. FUNCTION SSSetPage(VAR pb: SSGetSetPagePB; dataPtr: Ptr): SS_RETCODE;
  666. FUNCTION SSSetWindow(VAR pb: SSGetSetWindowPB; dataPtr: Ptr): SS_RETCODE;
  667. {————————————————————————————————————————————————————————————————————————
  668.     Error Detection Functions
  669. ————————————————————————————————————————————————————————————————————————}
  670. FUNCTION SSGetEDC(VAR pb: SSGetSetEDCPB; dataPtr: Ptr): SS_RETCODE;
  671. FUNCTION SSInquireEDC(VAR pb: SSInquireEDCPB; dataPtr: Ptr): SS_RETCODE;
  672. FUNCTION SSPauseEDC(VAR pb: SSPauseEDCPB; dataPtr: Ptr): SS_RETCODE;
  673. FUNCTION SSReadEDC(VAR pb: SSReadEDCPB; dataPtr: Ptr): SS_RETCODE;
  674. FUNCTION SSResumeEDC(VAR pb: SSResumeEDCPB; dataPtr: Ptr): SS_RETCODE;
  675. FUNCTION SSSetEDC(VAR pb: SSGetSetEDCPB; dataPtr: Ptr): SS_RETCODE;
  676. FUNCTION SSStartEDC(VAR pb: SSStartEDCPB; dataPtr: Ptr): SS_RETCODE;
  677. FUNCTION SSStopEDC(VAR pb: SSStopEDCPB; dataPtr: Ptr): SS_RETCODE;
  678.  
  679. {$ALIGN RESET}
  680. {$POP}
  681.  
  682. {$SETC UsingIncludes := SocketServicesIncludes}
  683.  
  684. {$ENDC} {__SOCKETSERVICES__}
  685.  
  686. {$IFC NOT UsingIncludes}
  687.  END.
  688. {$ENDC}
  689.